home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 2 / CU Amiga Magazine's Super CD-ROM 02 (1996)(EMAP Images)(GB)[!][issue 1996-04].iso / magazine / amiga_e / peps / peps.doc < prev    next >
Text File  |  1994-05-02  |  6KB  |  176 lines

  1.  
  2.  
  3.  
  4.     Peps v0.1 © 1994 NasGûl
  5.     -----------------------
  6.  
  7.         Peps make the same job than EPP,the only restriction is that
  8.     your must have one PMODULE by line.
  9.  
  10.     PMODULE 'Mod1'   this is ok.
  11.     PMODULE 'Mod2'
  12.  
  13.     PMODULE 'Mod1';PMODULE 'Mod2' it's bad.
  14.  
  15.  
  16.     Arguments:
  17.     ---------
  18.  
  19.     Esource                     - Source code (.e not added).
  20.     EC/K                        - EC options (-e by default).
  21.     PS=PubScreenName/K          - The name of PepsPubScreen (Workbench by def).
  22.     TF=TempFile/K               - The Name of the temp file (T:PepsMain.e by def).
  23.     AP=ArexxPortName/K          - The Arexx Port name of Peps (PepsPort by def).
  24.     EN=ExecName/K               - The Exec Name (the name of your source without .e by def).
  25.     ED=EditorName/K             - The name of your text editor ( ED by def, [] Supported).
  26.     EP=EDitorPortName/K         - The Name of the Arexx Port of your editor.
  27.     ER=ErrorArexxScriptName/K   - the name of the Arexx script to launch when a error is found (PepsError.rexx by def).
  28.     MF=MenuFile/K               - the menu file of peps (nomenu if not present) .
  29.     DT=DelTemp/S                - Delete tempfile (FALSE by def).
  30.     JE=JustEC/S                 - Read source file,make Tempfile,compile with EC and exit (FALSE by def).
  31.     IC=InsComment/S             - Insert comment to TempFile (FALSE by def).
  32.     Hires/S                     - Screen Hires (FALSE by def (screen is SUPER_HIRES by def)).
  33.     DF=PubScreenByDef/S         - The screen of Peps is The Pubscreen by default (FALSE by def).
  34.     SG=PubScreenShanghai/S      - for the screen of Peps (FALSE by def).
  35.  
  36.  
  37.  
  38.     RETRICTIONS:
  39.     -----------
  40.  
  41.         - Comment outside proc are in the gobals defintions,so put your comments in the proc.
  42.         - The INCBIN fonction is added to the global def (sorry).
  43.         - you must run Peps in the same directory than your source code.
  44.         - if a pmodule don't exists,it's not add.
  45.         - the only keyword reconnise by Peps are:
  46.  
  47.             PMODULE,PROC,ENDPROC
  48.  
  49.         - All lines before the first proc are added to the globals definitions.
  50.         - All line outside proc are added to the global definitions.
  51.  
  52.     Use.
  53.     ---
  54.  
  55.         there are only 4 Arexx command:
  56.  
  57.             EC        - Make compilation.
  58.             ECOPT     - Change EC options.
  59.             FINDPROC  - Find if the procedure is present.
  60.             QUIT      - Quit Peps.
  61.  
  62.     Ex:
  63.             >rx "Address 'PepsPort' EC"
  64.  
  65.         Your editor is running with the Exec fonction SystemTagList(),8000 for stack and
  66.         the priority at 0.
  67.  
  68.     Parsing Errors.
  69.     --------------
  70.  
  71.         You can't have 2 Pmodule with the same name,but Peps add to the TempFile only
  72.         new procedure.
  73.  
  74.         Ex:
  75.  
  76.         Mod1.e look like this:               Mod2.e look like this:
  77.  
  78.             PROC p_P1()..                        PROC p_P3()...
  79.             PROC p_P2()..                        PROC p_P4()...
  80.             PROC p_P3()..                        PROC p_P5()...
  81.  
  82.         The tempfile:
  83.  
  84.             PROC p_P1()..
  85.             PROC p_P2()..
  86.             PROC p_P3()..  --> This is the proc of the file Mod1.e (First found,first add).
  87.             PROC p_P4()..
  88.             PROC p_P5()..
  89.  
  90.  
  91.         With the option -e EC return the number line of the error.So i decided to make a parsing
  92.         fonction,it's the script arexx (see Peps Options).The arguments passed to this script
  93.         are:
  94.  
  95.         <the fullname of the file> <the name of the file> <the name proc (with the word PROC)>
  96.  
  97.         ex:
  98.  
  99.         5.Hd1:Amiga_E/Sources/Prg>Peps Prg.e ed "edg" dt
  100.  
  101.             EC return error 450 and your Main file look like this
  102.  
  103.         /* Globals Def */
  104.         PMODULE 'Mod1'
  105.         PMODULE 'Mod2'
  106.         PMODULE 'Mod3'  /* suppose that the error occur in this Pmodule */
  107.         PROC .....
  108.  
  109.         The return String look like this:
  110.  
  111.         Hd1:Amiga_e/Sources/Prgs/Mod3.e Mod3.e PROC openLib()
  112.  
  113.         With this arg you can look if the window is present,if not you can load them,
  114.     and jump the the good proc (see directory rexx:).
  115.  
  116.     The fonction FINDPROC.
  117.     ---------------------
  118.  
  119.         the return string is the same than the parsing error (without the proc name).
  120.  
  121.  
  122.     The MenuFile.
  123.     ------------
  124.  
  125.         the parameters must be enclosed by ".
  126.  
  127.     Ex:
  128.  
  129.         MENU "Menu title text"
  130.         ITEM "Menu item text" KEY "A" TYPE "CLI/REXX/EDPORT" COM "<command>"
  131.         SUBI "Menu item text" KEY "B" TYPE "CLI/REXX/EDPORT" COM "<command>"
  132.  
  133.         if you want to make a item with subitem:
  134.  
  135.         ITEM "Just the Title"
  136.         SUBI ........
  137.         SUBI .........
  138.  
  139.     MENU,ITEM,SUBI,KEY,TYPE and COMM must be in uppercase.
  140.  
  141.         CLI      - launch the command (must be run >nil: <nil: in the command line).
  142.         REXX     - run a arexx script.
  143.                    << WARNING >> DON'T CALL THE PepsPort IN MACROS.
  144.                    YOU MUST CALL THE PORT IN ANOTHER PROCESS THAN PEPS. (like your text editor or a shell).
  145.         EDPORT   - send the command directly to the arexx editor port (if it's present in the command line invocation).
  146.  
  147.         So you can have the same menu in your editor and Peps.
  148.  
  149.     Programmers.
  150.     ------------
  151.  
  152.             (---) OBJECT eubase
  153.             (  0)   pmodulelist:LONG        /* The file list (lh) of (filenode) (mainfile and pmodule). */
  154.             (  4)   proclist:LONG           /* the proc list (lh) of (ln) (just all the name proc like "PROC <name>(" */
  155.             (  8)   infolist:LONG           /* the info list (lh) of (ln) (for the error listview) */
  156.             (---) ENDOBJECT     /* SIZEOF=12 */
  157.  
  158.             (---) OBJECT filenode
  159.             (  0)   node:substructure       /* node.name is the name of the file (STRING) */
  160.             ( 14)   deflist:LONG            /* the globals def of the file (lh) of (ln)  */
  161.             ( 18)   proclist:LONG           /* the proc list of the file (lh) of (procnode) */
  162.             (---) ENDOBJECT     /* SIZEOF=22 */
  163.  
  164.             (---) OBJECT procnode
  165.             (  0)   node:substructure       /* node.name is the name of the proc (like the eubase.proclist) (STRING) */
  166.             ( 14)   buffer:LONG             /* the data of the proc (begin at PROC and stop at ENDPROC without the last "\n" */
  167.             ( 18)   length:LONG             /* the length of data */
  168.             (---) ENDOBJECT     /* SIZEOF=22 */
  169.  
  170.  
  171.     Future:
  172.     ------
  173.  
  174.             Parsing Unreferenced Proc ?.
  175.  
  176.